package com.syxx.oa.service;

import com.syxx.oa.domain.PersonnelRequirement;
import com.test.jbpm.Pager;

public interface PersonnelRequirementService {
	/**
	 * 添加或修改请假单
	 * @param PersonnelRequirement
	 */
	public void addOrUpdate(PersonnelRequirement perReq);
	
	/**
	 * 根据id批量删除请假单
	 * 
	 * @param PersonnelRequirementId
	 */
	public void del(Long[] perReqIds);
	
	/**
	 * 根据请假单id查询
	 * @param PersonnelRequirementId
	 * @return
	 */
	public PersonnelRequirement findPersonnelRequirementById(Long perReqId);
	
	/**
	 * 查询我的请假单
	 * @param creatorId
	 * @return
	 */
	public Pager<PersonnelRequirement> findMyPersonnelRequirementList(Long creatorId);
	
	/**
	 * 申请
	 * @param PersonnelRequirementIds
	 */
	public void dispatch(Long[] perReqIds);
	
	/**
	 * 待审请假单
	 * @param creatorId
	 * @return
	 */
	public Pager<PersonnelRequirement> findApprovingPersonnelRequirementList(Long approverId);

	
	/**
	 * 已审请假单
	 * @param creatorId
	 * @return
	 */
	public Pager<PersonnelRequirement> findApprovedPersonnelRequirementList(Long approverId);	
}
